ヒートマップは、表になっている数字について、区画ごとに段階的に色を付けたグラフです。
ヒートマップは、いろいろな使い方ができます。
下の表は1000行10列あるデータの、90行目くらいまでです。
数字が読み取れないだけでなく、全部を表示できていません。
このデータをヒートマップにすると、下のグラフになります。
ちなみに、左は、Pythonの
seaborn
で作りました。
右は、下記にあるRのコードで作りました。
表にある数字の並び方の特徴を、色の変化でつかむことができるようになります。 数字そのものを見るよりも、直観的にデータの様子がわかりやすくなります。 また、セルの範囲を広くして、数字が読みとれないほど小さくなっても、数字の並び方の全体像を見る事ができます。
表のデータの並び方が、時間や空間の意味を持っているものなら、 変化のグラフ になります。
表が多次元のデータの場合、この表のヒートマップは、多次元(多変数)のデータを表すグラフにもなっています。 普通のグラフは、2次元までが多いですし、3次元で立体的に見せようとすると、わかりにくくなりますが、 なんと、4次元以上でも、このグラフは対応できます。
例えば、 多変量データの相関分析 にも使えます。
表の縦方向と横方向を、縦軸と横軸と考えると、表を3次元データと考えることができます。
つまり、この表のヒートマップは、3次元データのグラフです。 2次元分は座標、1次元分は色を使って、3次元を表現しています。 このことを知っていると、様々な3次元データの表現方法としても、ヒートマップを使えます。
2次元の区間ごとに、度数や密度のデータを用意すると、ヒートマップは 2次元散布図 の代わりに使うこともできます。 碁盤の目のひとつひとつの位置に、度数や密度のデータを持ったグラフとして使えます。
下の図は、同じデータのヒートマップと 2次元散布図 です。 Excelで作りました。 matplotlibの2次元ヒストグラム や seabornの6角形の2次元ヒストグラム でも作ることができます。
この使い方をする時の強みと弱点は、
ヒストグラム
と同じです。
散布図の弱点をカバーする使い方ができる反面、
散布図の得意な
外れ値の判定
には不向きです。
上の図は、100行のデータのヒートマップです。
色のレンジは、指定していないので、データの最小値と最大値から自動的に設定されています。
ほとんどのデータが20以下なのに、
10行目に100くらいの外れ値があることが簡単に見つかります。
下の図は、1000行のデータのヒートマップです。
色のレンジが上の図と同じなので、どこかに外れ値があることはわかるのですが、
どこにあるのかはわかりません。
ある程度データが多いと、ヒートマップで外れ値の場所を見つけることはできません。 ただ、色のレンジを指定しないでグラフを作ると、色のレンジを確認することで、外れ値があることと、その値がどのくらいなのかはわかります。
ここのグラフは、 seabornのヒートマップ で作りました。
Rの実施例は、 標準グラフ機能 と、 Rによるヒートマップ のページにあります。
R-EDA1 には、 Rによるヒートマップ の方法が、GUIで簡単にできるようになっています。
Pythonの実施例は seabornのヒートマップ にあります。
EXCELの実施例は、 EXCELによるヒートマップ のページにあります。
順路 次は 2次元分布のグラフと関係のグラフ